From 66be6a018c95e876b26b82e0648bb034c9307e79 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sun, 5 Oct 2014 11:18:15 +0200 Subject: [PATCH] gdk: Remove overeager checks Parent is guaranteed to not be NULL. It can only ever be NULL for root windows and root windows cannot be created with gdk_window_new() and gdk_window_ensure_native() will exit early because they already are native. Also, both functions would crash a few lines below where parent gets dereferenced. --- gdk/gdkwindow.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index e023042ca7..495ccd7245 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -1335,8 +1335,7 @@ gdk_window_new (GdkWindow *parent, window->input_only = TRUE; } - if (window->parent) - window->parent->children = g_list_prepend (window->parent->children, window); + window->parent->children = g_list_prepend (window->parent->children, window); if (window->parent->window_type == GDK_WINDOW_ROOT) { @@ -1362,8 +1361,7 @@ gdk_window_new (GdkWindow *parent, _gdk_display_create_window_impl (display, window, real_parent, screen, event_mask, attributes, attributes_mask); window->impl_window = window; - if (parent) - parent->impl_window->native_children = g_list_prepend (parent->impl_window->native_children, window); + parent->impl_window->native_children = g_list_prepend (parent->impl_window->native_children, window); /* This will put the native window topmost in the native parent, which may * be wrong wrt other native windows in the non-native hierarchy, so restack */ @@ -1712,9 +1710,8 @@ gdk_window_ensure_native (GdkWindow *window) NULL, 0); new_impl = window->impl; - if (parent) - parent->impl_window->native_children = - g_list_prepend (parent->impl_window->native_children, window); + parent->impl_window->native_children = + g_list_prepend (parent->impl_window->native_children, window); window->impl = old_impl; change_impl (window, window, new_impl); -- 2.30.2